package com.saep.logica;

import com.saep.modelo.Coformador;
import com.saep.persistencia.CoformadorDAO;
import com.saep.persistencia.ICoformadorDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

@Stateless
public class LogicaCoformador implements LogicaCoformadorLocal {

    @EJB
    private ICoformadorDAO CoformadorDAO;

    @Override
    public void registrar(Coformador coformador) throws Exception {
        if (coformador == null) {
            throw new Exception("El coformador no tiene informacón");
        }
        if (coformador.getDocumentocoformador() == null) {
            throw new Exception("El documento del coformador es obligatorio");
        }
        Coformador objetoCoformador = CoformadorDAO.consultarPorCodigo(coformador.getDocumentocoformador());
        if (objetoCoformador != null) {
            throw new Exception("El coformador a registrar ya existe");
        }
        if (coformador.getDocumentocoformador() == null || coformador.getNombrecoformador().equals("")) {
            throw new Exception("El nombre del coformador es obligatorio");
        }
        CoformadorDAO.registrar(coformador);
    }

    @Override
    public void modificar(Coformador coformador) throws Exception {
        if (coformador == null) {
            throw new Exception("El coformador no tiene información");
        }
        if (coformador.getDocumentocoformador() == null) {
            throw new Exception("EL documento es obligatorio");
        }
        Coformador objetoCoformador = CoformadorDAO.consultarPorCodigo(coformador.getDocumentocoformador());
        if (objetoCoformador == null) {
            throw new Exception("El coformador a registrar ya existe");
        }
        if (coformador.getNombrecoformador() == null || coformador.getNombrecoformador().equals("")) {
            throw new Exception("El nombre es obligatorio");
        }
        CoformadorDAO.modificar(coformador);
    }

    @Override
    public void eliminar(Coformador coformador) throws Exception {
        Coformador objetoCoformador = CoformadorDAO.consultarPorCodigo(coformador.getDocumentocoformador());
        if (objetoCoformador == null) {
            throw new Exception("El coformador no se encuentra en el sistema");

        }
        CoformadorDAO.eliminar(objetoCoformador);
    }

    @Override
    public List<Coformador> consultarCoformador() throws Exception {
        return CoformadorDAO.consultarCoformador();
    }

    @Override
    public Coformador consultarPorCodigo(Long documentoCoformador) throws Exception {
        if (documentoCoformador == null) {
            throw new Exception("El coformador que esta consultando no se encuentra en el sistema");
        }
        return CoformadorDAO.consultarPorCodigo(documentoCoformador);
    }
}
